Задание 1. Точечные фильтры.

1) Метрика сходства двух изображений, реализуем алгоритм PSNR.

Импортируем OpenCV и прочее

Добавляем изображения (Оригинальное и сжатое)

Изображения:

Вычисляем PSNR

Искомая метрика:

2) Оттенки серого.

Считываем изображение

Конвертируем в серый, использую cv2::cvtColor()

Конвертируем в серый, используя average (R + G + B) / 3 фильтр

Сравниваем полученные изображения, используя метрику psnr

Время работы cv реализации

Время работы собственной реализации

Выводы: собственная реализация по качеству и скорости работы сильно отстает от cv реализации

3) Конвертация м/у цветовыми моделями.

Загружаем изображение

Преобразование из BGR в YUV

Теперь реализуем конвертацию. высчитываем компоненты

Объединяем их в одно изображение

Вычисляем меру сходства

Преобразование из YUV в BGR

Конвертируем ищображение из YUV в RGB с помощью OpenCV

Теперь реализуем конвертацию. высчитываем компоненты

Объединяем их в одно изображение

Вычисляем меру сходства

Яроксть с замером времени

Функция увеличения яркости для BGR

Функция увеличения яркости для YUV